package org.dxy.domain.port.repository;

import org.dxy.domain.model.aggregate.ProductionLine;

/**
 * 产线仓储接口
 * @author dxy
 * @createTime 2025/9/16 23:55
 */
public interface IProductionLineRepository {
    
    /**
     * 检查产线是否存在
     * @param productionLineId 产线ID
     * @return 是否存在
     */
    boolean existsById(Long productionLineId);
    
    /**
     * 检查产线是否可用
     * @param productionLineId 产线ID
     * @return 是否可用
     */
    boolean isAvailable(Long productionLineId);
    
    /**
     * 根据ID获取产线名称
     * @param productionLineId 产线ID
     * @return 产线名称
     */
    String getNameById(Long productionLineId);

    ProductionLine findById(Long lineId);

    void save(ProductionLine productionLine);
}